#ifndef FUNCTIONS_H
#define FUNCTIONS_H

#include "data.h"

enum _E
{
    E_DEBUG = 0,
    E_GET,
    E_ADD,
    E_SUB,
    E_MUL,
    E_MULI,
    E_DIV,
    E_DIVI,
    E_LHEAD,
    E_LTAIL,
    E_LLINK,
    E_LADD
};

void EF_Debug(struct Agent_Var* agent);
void EF_Get(struct Agent_Var* agent);
void EF_Add(struct Agent_Var* agent);
void EF_Addi(struct Agent_Var* agent);
void EF_Sub(struct Agent_Var* agent);
void EF_Subi(struct Agent_Var* agent);
void EF_Mul(struct Agent_Var* agent);
void EF_Muli(struct Agent_Var* agent);
void EF_Div(struct Agent_Var* agent);
void EF_Divi(struct Agent_Var* agent);
void EF_LHead(struct Agent_Var* agent);
void EF_LTail(struct Agent_Var* agent);
void EF_LLink(struct Agent_Var* agent);
void EF_LAdd(struct Agent_Var* agent);

extern _OPCFun tavm_run_exec[];

#endif

